Skip to content

fix(qualification): restore Any ceilings and current workspace contracts - #8013

Open
xyx2002OvO wants to merge 3 commits into
mainfrom
codex/pr7603-ci-followup-20261104
Open

xyx2002OvO wants to merge 3 commits into
mainfrom
codex/pr7603-ci-followup-20261104

Conversation

@xyx2002OvO

@xyx2002OvO xyx2002OvO commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

The old qualification at 888e7c7e stopped on undefined report-reader CSS tokens, an obsolete workspace wiring assertion, and the C1 task-model regression in its merge base. This update retains the original Any-budget repair and fixes the two workspace checks without changing the runtime communication or authority contracts.

Current head: 86baa0bfab5185fc90c2daf59206e367e3ec18b4. Rebased onto 00a8393ac, including the upstream C1 rollback in #8265. The original CI/type repair is already on main through #7603; this PR contains the focused follow-ups, not that original 126-file batch.

Failure attribution and repair

Failed qualification Cause and response
Dashboard browser lanes Three references used undefined --pw-border / --pw-surface. Use the existing --pw-line / --pw-card tokens, retaining the border and background declarations.
Chat browser lanes and release build The source contract expected a removed direct reconcileConversationReturns call. Assert the actual shared observation (readConversationReturns) and history reconciliation (reconcileConversationHistory), retaining the delivery-state checks. Normalize source newlines for Windows.
Windows original-task recovery The tested merge included C1 and lost task_failure. Rebase includes the upstream rollback; the unchanged CI selector now passes locally. No recovery gate was bypassed.
Kernel CLI differential Mypy passed; the baseline output probe lost its quota Markdown anchor against the C1 merge base. The gate, semantic anchors and budgets remain unchanged and must qualify on the new base in hosted CI.
Next release-browser failure at c9b59b4 After the earlier checks passed, conversation-activity reached Goal navigation and its incomplete stored-message fixture crashed shared history sorting. Add the required created_at to both manually inserted messages and the analogous turn-steps message, using the existing controlled page clock. All send/steer/interrupt/queued-start assertions remain unchanged; production sorting gets no fallback. Both complete packaged scenarios now pass.

The initial run also has aggregate failures caused by cancelled prerequisites. Those do not establish additional product defects. Original failed logs remain linked above.

Original review finding

The four Any counts are 15 / 83 / 49 / 11, with the original ceilings restored to 15 / 85 / 49 / 11. Validated values narrow locally; runtime shape/value checks, function parameters and complexity limits remain intact. See the original review.

Current validation

  • PASS: original 17-entrypoint kernel mypy check with transitive imports under Linux platform semantics; both strict Todo adapters; original CI Ruff scope; maintenance suite (14 passed).
  • PASS: Dashboard CSS classifier and complete undefined-token scan; workspace source contract; canonical packaged Chat build.
  • PASS: unchanged Windows CI recovery/cleanup selection: 14 passed, 5 POSIX-only skips, 6 deselected.
  • PASS: packaged conversation-return continuity; native accepted-report catalog/read/download/keyboard/withdrawal recovery; report-review owner suite (18 passed).
  • PASS: complete packaged conversation-activity and turn-steps, including the previously failing Goal navigation/queued-start path and malformed-event rejection.
  • PASS: populated synthetic review-reader rendering at desktop and 390px width; border readback changes from 0px to the intended 1px, with no horizontal overflow.
  • LIMIT: the full native Windows CLI probe still fails locally on cold-import carrier read/temporary-tree cleanup races. This is not a passing Linux differential or full Windows qualification. An additional native-steward fake-host suite is POSIX-only in practice (WinError 193 on this machine); its failed attempt is retained, not converted to skips.
  • Hosted validation is tracked at Python Tests for the new head and Release Artifacts. Local passes do not mean hosted CI is green. No workflow timeout, semantic anchor, output ceiling, test selection or permission check was relaxed.

Earlier validation at 888e7c7e remains historical: 588 focused passes / 45 existing no-tools skips; standard native premerge had 6 direct passes and 14/18 selected passes, with four independently reproduced main-baseline failures. It is not relabeled as complete qualification of this new head.

Visual evidence

Packaged frontend with synthetic public-safe review data. This checks the affected reader's border/background and populated desktop/narrow composition; it is not an installed-user or model-quality claim. The native report download/recovery path was validated separately. Browser UI and data outside this reader retain their existing layout and behavior.

View Before After
Desktop Desktop before Desktop after
Narrow Narrow before Narrow after

Ready for exact-head re-review; no merge requested.

@mergify

mergify Bot commented Nov 4, 2026

Copy link
Copy Markdown

This pull request has merge conflicts with main and cannot be merged
until they are resolved. Please rebase or merge the base branch, @xyx2002OvO.

Choose the remote for the base repository, not an out-of-date fork.
For a fork clone, first inspect git remote -v; upstream must point
to https://github.com/loopx-project/loopx.git. If it is absent, add it
with git remote add upstream https://github.com/loopx-project/loopx.git.
Then run:

git fetch upstream
git rebase upstream/main
# Resolve each conflict, git add the resolved files, then git rebase --continue.
git push --force-with-lease origin HEAD

For a same-repository clone whose origin points to
https://github.com/loopx-project/loopx.git, use origin instead of
upstream for fetch/rebase. If you prefer merging the base, use
git merge <base-remote>/main and push normally.

Keep the DCO Signed-off-by trailer on every commit when you rebase.
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork

@mergify mergify Bot added the needs-rebase Mergify: the pull request has merge conflicts with its base branch label Nov 4, 2026

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer: model_agent; gpt-6.1-sol; OpenAI; runtime_reported; reasoning_effort=max

[P2] 先处理四个新增 Any 计数超限,再声明资格恢复。 原始基线通过模块维护检查,新 head 在 terminal 22>15、interaction_contract 107>85、pr_review 50>49、slash_command_install 12>11 四处失败。定位见 terminal.py 73–76 行新增 casts;其他三处属于同一类修复。请优先收窄不必要的 Any;需要保留时,按既有预算决策流程给出测量与精确调整理由,再重跑原检查,不能只增大阈值或删检查。

动机 / Motivation

依赖严格类型门禁和过时测试任务清理结果的维护者,以及运行研究视图浏览器回归的贡献者。

旧基线的原始类型命令报告 789 项错误,且取消请求接受后最多等十次读取就会误报仍未完成;新 head 消除这些类型错误并等待可验证终态,但新增 Any 计数超限使整体本地资格检查仍不能通过。

类型检查与取消流程修复得到独立验证;完整资格恢复尚未完成,必须先处理四个新增维护预算失败。

本 PR 不改变评分、权限、持久化 schema、模型策略或公共 UI;没有执行真实远端 CI 取消、生产 Host、模型或付费任务。

未完成的验收边界:四个 Any 计数预算回归未修复;完整 packaged browser scenario 和原生 Windows 分支本次未执行。

改动思路 / Approach

本次的大 diff 主要是原有传递导入图的类型收窄、显式 re-export、同值 cast 与局部变量改名。运行时决定仍在现有 typed owner。可信工作流的取消路径从十次读取改为 60 秒 deadline,每轮核对 PR/source/sibling 范围;仍未完成则失败,不把请求接受当完成。浏览器修改仅把 stale elementHandle 等待换成当前 locator/DOM 读取;键盘与两行独立展开断言保留。

类型收窄仍在原有 Python adapter 与 typed owner 边界,取消终态判断保留在可信工作流 transport;没有第二个业务决策或状态 owner。

本次只修复现有类型、取消回读与测试稳定性;四个预算债务必须在同一边界内处理,真实远端与跨平台结果继续独立保留。

仓库投递的既有经验只用于检验实际调用任务、最短合法路径和可回读结果;本次按当前代码采纳这些检查,不继承旧案例结论,也不将内部维护强制扩大成整套新前端。经验被投递或写入评审不等于实际采用、任务收益或长期效果。

具体改动 / Changes

126 文件 +870/-673。全范围 Python AST 对照先定位注解/cast 差异,再检查残余别名、同值临时变量、两个私有 TypedDict、Windows 常量 getattr 兼容分支以及测试 harness;未把自动归一化相等说成逐字读完全部原始 diff。可信 workflow、研究视图测试、fake timer 同时推进 Date.now,以及只改 stale 测试断言的 settlement 文本逐项单独核对。公开别名未移除,状态、权限、评分和默认 provider 没有新增语义。

验收依据为 docs/development/testing-and-quality.md,固定 revision 79b7818,检查的 head 为 031337d;不以本次 ledger 或作者声明倒改原有验收要求。

  • local-validation-environment--本地验证环境:使用对应 checkout 的解释器与真实仓库命令,保留失败和未测平台。 已按上述当前 head 验证。
  • budget-failure-decisions:同一 base/head 工作负载比较预算;出现增长需保留原失败并提供收窄或有证据的精确预算决策。 Base maintainability report passes; head has four unreviewed Any-count regressions: 22>15, 107>85, 50>49, 12>11.
  • refactor-real-path-gate--重构真实路径门:通过实际受影响入口验证,区分真实后端与 fixture/未测范围。 已按上述当前 head 验证。

PASS:对应 checkout 的原始 mypy 命令从基线 789 errors/126 files 降为新 head 零错误;strict adapters 两端均通过;CI 范围 Ruff、diff hygiene 通过。231 项门禁测试、352 项实际状态/事务/恢复/记忆隔离测试通过,另有 1856 subtests;1 项原生 Windows PowerShell 测试按平台跳过,未当作通过。

独立执行实际 workflow JS 的 7 状态×2 revisions 对照:35 秒后完成的请求,基线在 11.5 秒误报未完成,新 head 在 35.5 秒观察到终态;永远未完成在 61.5 秒失败;current head/sibling 没有取消副作用;source 变化、读取失败与 403 错误保留停止或失败。时间与 Octokit 为合成 fixture,没有查询或操作真实远端 CI。

FAIL:原生 premerge 为 6 direct 通过、19 selected 中 2 项失败。维护 ratchet 是基线通过、head 新增四处 Any 超限,直接支持本次 P2。另一个 quota JSON 预算在同一 immutable base 为 20557、head 为 20549,均超过 20500;保留原有失败,不归因成本次新增功能回归,也不降低阈值。完整 packaged browser scenario、原生 Windows 与实际远端取消均未执行。本轮 CQR 失败记录保留,未重放成绿色。初次带显式 PYTHONPATH 的零错误结果不作为类型验收;使用原始环境命令重新确认了 789→0。

对主干的风险 / Risks

类型检查通过不能单独证明运行语义,cast 也不是运行时验证。本次保留源状态/缺失值/终态的原分支,对传递图做完整范围语义排查,再用真实本地 typed effect 路径和 workflow 脚本验证。scope/head/sibling 检查留在可信 provider transport,通用义务没有被改成 GitHub 专用规则。新的 Any 计数回归已被原生门禁真实拦住,当前不能把整项资格恢复标为完成。

Four introduced Any-budget debts hold qualification; full packaged browser, native Windows and real remote cancellation remain unverified.

不因公开 review 或本地 receipt 授予 merge、provider 执行、真实 Host 采用或父级目标验收。远端 CI 按当前评审策略未查询、未轮询、未等待;所有通过、失败、跳过和未验证范围分别保留。

我的整体评价 / Verdict

类型与异步终态修复有独立证据,但整体资格恢复仍缺少四个新增 Any 预算失败的处理。REQUEST_CHANGES 的最小修复只限这些已有 owner 的测量/类型边界,无需扩展成无关重构。

类型收窄仍在原有 Python adapter 与 typed owner 边界,取消终态判断保留在可信工作流 transport;没有第二个业务决策或状态 owner。

本次只修复现有类型、取消回读与测试稳定性;四个预算债务必须在同一边界内处理,真实远端与跨平台结果继续独立保留。

本 diff 只修改研究视图测试的定位与等待方式,生产组件、HTML、样式及其首屏没有改变。

Full packaged browser scenario and native Windows interaction were not executed; no visual quality or UI acceptance claim.

English verdict: REQUEST_CHANGES at 031337d. Repair four introduced Any-count budget violations. Type and cancellation checks pass, but required native qualification still fails; full browser and native Windows remain unverified.

if not all(isinstance(value, dict) for value in (normalized, frontier, monitors, successors)):
return False

normalized = cast(dict[str, Any], normalized)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] 请保留类型修复,同时处理新增的 Any 计数预算回归。原始基线通过 maintainability ratchet,而当前 head 在本文件为 22>15,另有 interaction_contract 107>85、pr_review 50>49、slash_command_install 12>11;原生 premerge 因此失败。这里新增的同值 casts 虽不改变运行分支,仍增加了既有度量保护的 Any 债务。请收窄不必要的 Any,或按已有 budget-failure-decisions 提供测量与精确预算决策,再重跑 unchanged ratchet 与 premerge;不要仅提高阈值或移除检查。

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

已在 888e7c7e4131c8fc65afdf98821ee0cbc42c1412 修复本条 P2,并在独立分支 rebase 到目标 main。原四个提交已随 #7603 进入 main,因此当前 PR 只保留五文件补修。

四处 Any 计数分别为 15、83、49、11;预算上限恢复为原 review 的 15、85、49、11。通过对已读取值做类型收窄移除不必要的 Any cast,保留原值/形状检查、函数参数、复杂度上限及现有链路。

验证:588 passed、45 项既有 no-tools live qualification 跳过;Linux 平台语义下原 kernel mypy 17 个入口与 strict Todo adapter 2 文件通过;维护 ratchet、原 CI Ruff 范围通过。原生 premerge 为 6/6 direct、14/18 selected 通过;其余四项已在独立的未修改 main 环境中复现同样异常。Windows mypy 的 13 项 POSIX 符号诊断也与基线完全一致。历史失败与未验证范围继续保留,详细结果已更新 PR 描述;请按新 head 复审,未请求合入。

@xyx2002OvO
xyx2002OvO force-pushed the codex/pr7603-ci-followup-20261104 branch from 031337d to 888e7c7 Compare November 7, 2026 08:51
@xyx2002OvO xyx2002OvO changed the title fix(ci): restore strict qualification and reliable asynchronous readback fix(types): restore original Any budgets for validated projections Nov 7, 2026
@mergify mergify Bot removed the needs-rebase Mergify: the pull request has merge conflicts with its base branch label Nov 7, 2026
Signed-off-by: Tartar <xiaoyx67@mail2.sysu.edu.cn>
Signed-off-by: Tartar <xiaoyx67@mail2.sysu.edu.cn>
@xyx2002OvO
xyx2002OvO force-pushed the codex/pr7603-ci-followup-20261104 branch from 888e7c7 to c9b59b4 Compare November 7, 2026 09:31
@xyx2002OvO
xyx2002OvO requested a review from maxliux5 as a code owner November 7, 2026 09:31
@xyx2002OvO xyx2002OvO changed the title fix(types): restore original Any budgets for validated projections fix(qualification): restore Any ceilings and current workspace contracts Nov 7, 2026
Signed-off-by: Tartar <xiaoyx67@mail2.sysu.edu.cn>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants